#include <stdio.h>
#include <string.h>
#include <ctype.h>

#define STR_SIZE 13

void permutation(char str[], int d);
void qsort(char str[], int i, int j);

char ans[STR_SIZE];
short flag[STR_SIZE];
int len;

int main (int argc, const char * argv[]) {
	int K;
	char str[STR_SIZE];
	scanf("%d",&K);
	while (K--) {
		scanf("%s",str);
		len=strlen(str);
		qsort(str, 0, len-1);
		ans[len]=0;
		permutation(str, 0);
	}
    return 0;
}

void permutation(char str[], int d){
	int i;
	if (d==len) {
		puts(ans);
		return;
	}
	for (i=0; i<len; i++) {
		if(flag[i]) continue;
		ans[d] = str[i];
		flag[i]=1;
		permutation(str, d+1);
		flag[i]=0;
		while (i+1<len && str[i+1]==str[i]) i++;
	}
}

void qsort(char str[], int i, int j) {
	int k;
	if (tolower(str[i])>tolower(str[j]) || str[i]-'a'==str[j]-'A'){
		k=str[i];
		str[i]=str[j];
		str[j]=k;
	}
	if (i+1>=j) return;
	k = (j-i+1)/3;
	qsort(str,i,j-k);
	qsort(str,i+k,j);
	qsort(str,i,j-k);
}